package com.example.lib_db.db.room.entity

import android.gesture.GestureUtils
import androidx.room.TypeConverter
import com.blankj.utilcode.util.GsonUtils

/**
 * 自定义类型转换器
 * 支持类型：NULL,INTEGER,TEXT,BLOO,REAL
 * 其他类型需要自定义类型转换器
 */
class CustomTypeConverters {
    /**
     * 数据中存储一个List集合，就需要做类型转换
     *
     */
    @TypeConverter
    fun arrayListToString(list:ArrayList<String>):String{


        return GsonUtils.toJson(list)
    }
    /**
     * 将Json字符串转成集合
     *
     */
    @TypeConverter
    fun stringListToString(json:String):(ArrayList<String>){
        return GsonUtils.fromJson(json,ArrayList::class.java) as ArrayList<String>
    }

    /**
     * 将Long类型转成字符串
     */
    @TypeConverter
    fun longToString(l:Long):String=l.toString()
    /**
     * 将字符串转成Long类型
     */
    @TypeConverter
    fun stringToLong(s:String):Long=s.toLong()
}